A system-on-chip (SOC) device is a device that includes two or more circuit systems (e.g., processing circuitry system and programmable gate array circuitry system) on a single chip. The SOC device, together with other circuits (e.g., a memory device), may perform a user specified function. The memory device may be utilized to store information transmitted from the SOC device.
However, a memory device is prone to single event upsets (SEUs). An SEU occurs when ions or electromagnetic radiation strikes the memory device. Such an event may alter the state of a memory bit on the memory device and generate a single bit error. Therefore, many SOC devices include error correction code (ECC) circuitry to overcome such errors.
The ECC circuitry, however, is unable to correct double bit errors. This is because double bit errors are generally caused by uninitialized memory in the device. Therefore, most memory devices that are coupled to SOC devices need to be initialized first before being used in any application.
The initialization of a memory device is generally a time-consuming operation. Conventional initialization methods often hold up the SOC device and delay the execution of other steps (e.g., loading boot-up information, etc.). Although there are initialization methods that perform parallelized initializations that help to reduce hold up time, these methods still do not allow the SOC device to continue executing other steps during the initialization stage.